/*
Onglets.hpp
--------------

Par Bréhaut Vincent le 23/03/2011

Rôle: Créer, afficher et gérer les onglets
*/

#ifndef DEF_ONGLETS
#define DEF_ONGLETS

#include <iostream>
#include <SFML/Graphics.hpp>
#include <SFML/Audio.hpp>
#include <vector>
#include "Widget.hpp"
#include "Button.hpp"
#include "../Engine.hpp"

namespace GUI
{
    class Onglets : public Widget
    {
        public:
            Onglets(Engine &Moteur);
            ~Onglets();

            void AddOnglet(const sf::String &text=sf::String("")); // Ajoute un onglet
            void AddWidget(const unsigned int id_onglet, Widget *widget); // On ajoute un widget à l'onglet d'id id_onglet

            void Adjust(); // Ajuste la taille à son contenu

            virtual void Afficher();
            virtual void UpdateEvent();

        protected:
            sf::Sprite m_image;
            sf::Font m_font;
            std::vector< std::vector<Widget*> > m_widgets; // Stocke les Widgets des différents onglets
            std::vector<Onglet*> m_onglets;
            std::vector<sf::IntRect> m_rects; // rects du cadre
            unsigned int m_focus; // Onglet possedant le focus
    };
}

#endif
